EXCEL第一列内容相同的,第二列单元格内容相应合并在同一个单元格

EXCEL第一列内容相同的,第二列单元格内容相应合并在同一个单元格

Excel 问题描述

Fig 1

红色框是原始的数据,我的目的是想要通过红色框的转换成绿色框内容。当然方法有很多,编程可以实现。今天先讲下如何直接使用Excel解决这个问题的。

抽取第一列中的相同内容

以下这个链接中的内容解决了这个问题。
EXCEL极速批量合并相同单元格

抽取第二列内容道绿框中第二列

在做这个的时候参考了一些网上资料,最后绝对用VBA函数来实现。
如何自定义一个函数的操作步骤可以参考百度百科:
EXCEL自定义函数
知道怎么插入自定义函数后,就是写自定义函数了。
网上找了一些链接,发现都不是自己想要的,后来发现百度知道里一个答案很近似。
第一列内容相同的第二列单元格内容合并
我真的不是给百度打广告。。。。
我根据上述网页的函数做了小小的改动。

Function lookupmore(lookup_value, lookup_vector, result_vector)
Dim i As Integer
Dim temp As String
For Each c In lookup_vector
i = i + 1
 If c.Value = lookup_value Then
   temp = temp & "," & result_vector.Item(i)
 End If
Next
lookupmore = Mid(temp, 2)
End Function

这里说下VBA的Mid函数。
Fig 3VBA 的 VBA Mid函数 (终于不是百度的链接哈哈)

写完之后在Excel表格中调用这个函数。
Fig 2一行做好后,点击D2的右下角,直到出现黑色的“十”字,直接向下拉就行了。所有的内容都转换成自己想要的。
明天有空写个python脚本转一下。
终于现在把脚本粗略的写好了,代码水平实在是太差。各位看官轻喷。


import xdrlib, sys
import xlrd
import numpy as np
import xlwt
import xlsxwriter
import openpyxl
from openpyxl import Workbook
from openpyxl import load_workbook
from xlutils.copy import copy
import openpyxl
'''
python读取excel中单元格的内容返回的5种类型
0 --empty:空
1 --string:字符串
2 --number:数字
3 --date:日期
4 --boolean:布尔
5 --error
'''
def open_excel(file):
    try:
        data = xlrd.open_workbook(file)
        return data
    except Exception as e:
        print(e)

#根据索引获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_index:表的索引
def excel_table_byindex(file,colnameindex,by_index)
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 如果您的问题是要将某一列中相邻的相同内容合并为一个单元格,可以使用pandas库中的`groupby()`函数和`agg()`函数来实现。 例如,我们假设有一个DataFrame df,其中有一列为"col_name",我们要将其中相邻的相同内容合并为一个单元格。可以使用以下代码: ```python import pandas as pd df = pd.DataFrame({ 'col_name': [1, 1, 2, 2, 2, 3, 4, 4, 4] }) # 将相邻的相同内容合并为一个单元格 df['col_name'] = df.groupby((df['col_name'] != df['col_name'].shift()).cumsum())['col_name'].transform(' '.join) print(df) ``` 输出结果为: ``` col_name 0 1 1 1 2 2 2 3 2 2 4 2 2 5 3 6 4 4 4 7 4 4 4 8 4 4 4 ``` 在上述代码中,`groupby()`函数将列"col_name"中相邻的相同内容分成一组,然后对每个分组使用`transform()`函数,将该分组中的内容合并为一个单元格。最后再将合并后的结果赋值给"col_name"列即可。 ### 回答2: 可以使用pandas库的groupby和agg函数实现将同一列的相同内容合并。 首先,使用pandas的read_excel函数读取需要处理的Excel文件,得到一个DataFrame对象。 然后,使用groupby函数按照需要合并的列进行分组,以此为基础进行聚合操作。可以使用agg函数来对分组后的数据进行聚合操作,例如使用join函数来将相同内容单元格合并为一个字符串。 接着,将聚合后的结果写入原始的DataFrame对象中,可以使用pandas的loc函数来定位需要写入的单元格,并赋值为聚合后的结果。 最后,可以使用pandas的to_excel函数将处理完成的DataFrame对象写入Excel文件中。 总结起来,使用pandas的groupby、agg和to_excel函数可以方便地实现将单元格同一列相同内容合并并写入的操作。 ### 回答3: 在pandas中,可以通过使用groupby函数以及聚合函数来实现将同一列中相同内容单元格进行合并。 首先,我们需要加载pandas库,并读取需要进行操作的数据文件。假设我们的数据文件名为data.csv,其中包含了两列数据,分别是"姓名"和"成绩"。我们可以使用以下代码进行读取: ```python import pandas as pd df = pd.read_csv('data.csv') ``` 接下来,我们可以使用groupby函数将相同内容单元格进行分组。在这个例子中,我们可以以"姓名"作为分组依据。代码如下: ```python grouped = df.groupby('姓名') ``` 然后,我们可以使用聚合函数来对每个分组进行操作。在这个例子中,我们可以使用第一个分组的成绩去覆盖其他分组的成绩。代码如下: ```python df['成绩'] = grouped['成绩'].transform(lambda x: x.iloc[0]) ``` 最后,我们可以将合并后的数据进行导出。代码如下: ```python df.to_csv('merged_data.csv', index=False) ``` 以上代码会将合并后的数据保存到名为merged_data.csv的文件中。 总结一下,我们可以通过使用groupby函数以及聚合函数来实现将pandas中同一列中相同内容单元格进行合并

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值